package telnet

import "os"

/*
	Telnet 协议
	1. Telnet 协议是 TCP/IP 协议族中的一种。它允许用户（Telnet 客户端）通过一个协商过程与一个远程设备进行通信。
		本例将使用一部分 Telnet 协议与服务器进行通信。
	2. 服务器的网络库为了完整展示自己的代码实现了完整的收发过程，一般比较倾向于使用发送任意封包返回原数据的逻辑。这个过程类似于对着大山高喊，大山把你的声音原样返回的过程。也就是回音（Echo）。
		本节使用 Go语言中的 Socket、goroutine 和通道编写一个简单的 Telnet 协议的回音服务器。
	3. 回音服务器的代码分为 4 个部分，分别是接受连接、会话处理、Telnet 命令处理和程序入口。
*/

// TestDemoTelnet Telnet回音服务器——TCP服务器的基本结构
func TestDemoTelnet() {
	// 创建一个程序结束码的通道
	exitChan := make(chan int)

	// 将服务器并发运行
	go server("127.0.0.1:7001", exitChan)

	// 通道阻塞，等待接收返回值
	code := <-exitChan

	// 标记程序返回值并退出
	os.Exit(code)
}

/*
	test
	1. go run 。。。 执行程序后，命令行提示
		listen: 127.0.0.1:7001
	2. telnet 连接服务，命令行输入:
		telnet 127.0.0.1 7001
	3. telnet 连接后，进行测试
*/
